// js commun à toute l'interface d'administration

$(function()
{
	// masquer la demande de confirmation
	$('a.js-hide').click(function() {
		$('.hidden').fadeOut();
	});

	// demander confirmation
	$('a.js-ask-validation').click(function() {
		$('.hidden').hide();
		$(this).parent().children('.hidden').fadeIn();
	});

	$('input.js-numeric').numeric();
	$('input.js-date').datepicker();

	// config plugin jquery.datatable
	jQuery.fn.dataTableExt.aTypes.unshift(
		function ( sData )
		{
			var d = sData.split("/");
			if (d.length == 3) // could be improved...
			{
				return 'euro_date';
			}
			return null;
		}
	);


	jQuery.fn.dataTableExt.oSort['euro_date-asc']  = function(a,b) {
		var ukDatea = a.split('/');
		var ukDateb = b.split('/');

		var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
		var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;

		return ((x < y) ? -1 : ((x > y) ?  1 : 0));
	};

	jQuery.fn.dataTableExt.oSort['euro_date-desc'] = function(a,b) {
		var ukDatea = a.split('/');
		var ukDateb = b.split('/');

		var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
		var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;

		return ((x < y) ? 1 : ((x > y) ?  -1 : 0));
	};

	$('table.dataTable').dataTable({
		"iDisplayLength": 300,
		"bAutoWidth": true,
		"oLanguage": {
			"sProcessing": "Chargement...",
			"sLengthMenu": "Afficher _MENU_ lignes par page",
			"sFilterMenu": "Rechercher",
			"sZeroRecords": "Aucune ligne à afficher",
			"sInfo": "Lignes _START_ à _END_ (_TOTAL_ au total)",
			"sInfoEmpty": "0 ligne",
			"sInfoFiltered": "(filtré à partir de _MAX_ lignes)",
			"sSearch": "Recherche : ",
			"oPaginate": {
				"sFirst":    "Première",
				"sPrevious": "Précédente",
				"sNext":     "Suivante",
				"sLast":     "Dernière"
			}
		},
		"bJQueryUI": true,
		"bProcessing": true
	});

});

/**
 * Modifier un compteur, ou recharger la page si le total calculé est <= 1
 * @param diff: différence appliquée
 */
function update_cpt(object, diff)
{
	var count = parseInt($(object).html()) + diff;
	if (count <= 1) {
		window.location.reload();
	}
	else {
		$(object).html(count);
	}
}

function failure_callback(result)
{
	alert("Une erreur est survenue au cours de l'opération : " + result);
}
